Multimedia broadcast/multicast service (MBMS) is a point to multipoint service in which data is transmitted from a single source entity to multiple users. The main objective of MBMS study is to take advantage of the fact that the same data is transmitted to multiple users, so that network resources can be efficiently shared among users.
Referring to FIG. 1, which shows a portion of the well-known architecture for MBMS within a 3GPP network, when MBMS data is available for delivery, a serving GPRS support node SGSN will send a MBMS notification to relevant radio network controllers RNCs. These RNCs will then ask NodeBs (also known as base stations) to send relevant paging messages to notify interested users via their equipment UEs. Some of these UEs will be in idle states, while others will be may be in a Cell_PCH state (a state in which the UE has been assigned a dedicated airlink with a NodeB) or URA_PCH state (a state in which the UE is still connected with the network by one or more shared communication channels, but not a dedicated airlink). The UEs in the Cell_PCH/URA_PCH or idle states have to send a paging response when they are paged. The paging response is sent via a RACH (Random Access CHannel). Since many users may subscribe to a MBMS service, the network will see a surge in RACH contention messages. Such surges will cause large collisions on the RACH channel.
Existing specifications or protocols provide many RACH transmission control parameters some of which control the use of the RACH when collisions occur. The UE is provided with the RACH transmission control parameters when service provisioning takes place, and updates the RACH transmission control parameters based on system information. The RACH transmission control parameters include Physical RACH (PRACH), Access Service Class (ASC), maximum number of permitted RACH transmission attempts Mmax, maximum back off value NBO1max and minimum back off value NBO1min. The PRACH indicates the physical RACH over which the UE will attempt to communicate with the network. The ASC indicates the partition i of the PRACH in which to attempt to communicate with the network and the persistence value Pi (probability that a UE attempts a transmission). The UE stores and updates the information on each ASC and determines the ASC to use during transmission based on an Access Class (AC) assigned to the UE by the network. The maximum back off value NBO1max and minimum back off value NBO1min are described in detail below, but are associated with the assigned PRACH such that each UE assigned to the same PRACH has the same maximum back off value NBO1max and minimum back off value NBO1min.
FIG. 2 illustrates a flow chart of the conventional RACH access process performed at a UE when data is to be transmitted. As shown, in step S10, the UE maps the assigned AC to an ASC. The UE will use this ASC for transmissions other than an emergency transmission (e.g., 911 calls). Then in step S12, a count value M is set to zero, and in step S14, the count value M is incremented by one. Next, in step S16, the UE determines if the count value M representing the number of transmission attempts exceeds the maximum number of permitted RACH transmission attempts Mmax. If so, then the UE treats the transmission as unsuccessful. However, if M is less than or equal to the maximum number of permitted RACH transmission attempts Mmax, then in step S18 the UE updates the RACH transmission control parameters.
Next, in step S20, a 10 ms timer T2 is set. In step S22, the UE decides whether to attempt transmission based on the persistence value Pi associated with the ASC selected by the UE. Specifically, a random number Ri is generated between zero and 1. If the random number Ri is less than or equal to the persistence value Pi, the UE attempts to transmit over an assigned PRACH at the partition i indicated by the selected ASC in step S24; otherwise, the UE waits till the 10 ms timer T2 expires in step S26 and processing proceeds to step S18.
In step S30, the UE determines whether the network responds with an ACKnowledgement (ACK), a Non-ACKnowledgment (NACK), or no response. If no response is received from the network, after the timer T2 expires in step S32, processing proceeds to step S14. If an ACK (indicating receipt of the UE transmission by the network) is received, then in step S34 the UE begins further transmission. If a NACK (indicating a failed receipt of the transmission by the network—often due to collision) is received, then the UE waits for the timer T2 to expire in step S36 before proceeding to step S38. In step S38, the UE generates a back off value NBO1 randomly chosen between the maximum and minimum back off values NBO1max and NBO1min associated with the PRACH assigned to the UE. The UE then waits a back off interval TBO1 equal to 10 ms times the back off value NBO1 before proceeding to step S14 and re-attempting transmission.
As demonstrated in FIG. 3, even with the back off methodology discussed above, future collisions are possible. As shown in FIG. 3, UEa and UEb have a collision event as shown at 10. According to FIG. 2, each of UEa and UEb will first wait for the timer T2 to expire (step S36), and then back off further according to a calculated back off interval (step S38). As shown in FIG. 3, when both UEa and UEb are assigned to the same PRACH, then UEa and UEb have the same maximum and minimum back off values. Because the back off interval range for both UEa and UEb completely overlap, it is highly likely that a future collision occurs. For example, with the NBO1min=0 and the NBO1max=3 for both UEa and UEb, it is entirely possible that UEa calculates a back off interval TBO1a of 30 ms and UEb calculates a back off interval TBO1b of 20 ms. Because the transmission burst duration is not negligible, another collision occurs as shown at 12 in FIG. 3.